package com.powernode.proxy.client;

import com.powernode.proxy.service.OrderService;
import com.powernode.proxy.service.OrderServiceImpl;
import com.powernode.proxy.service.OrderServiceImplSub;
import com.powernode.proxy.service.OrderServiceProxy;

public class Test {
    public static void main(String[] args) {
        // 第一种解决方案
        /*OrderService orderService = new OrderServiceImpl();
        orderService.generate();
        orderService.update();
        orderService.detail();*/

        // 第二种解决方案
        /*OrderService orderService = new OrderServiceImplSub();
        orderService.generate();
        orderService.update();
        orderService.detail();*/

        // 第三种解决方案
        // 目标对象
        OrderService target = new OrderServiceImpl();
        // 代理对象
        OrderService proxy = new OrderServiceProxy(target);
        // 调用代理对象的代理方法
        proxy.generate();
        proxy.update();
        proxy.detail();
    }
}
